iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0
Software Development

Azure Application Insights系列 第 14

Day - 14. 自訂事件和度量(pageView)

  • 分享至 

  • xImage
  •  

pageView就是頁面被瀏覽的次數

我們可以在每個畫面或頁面載入時傳送給Azure Application Insights,或著在Razor上透過js傳送

這邊筆者將會新增一個Razor Page來完成我好想在api中直接呼叫來達到模擬的效果

這邊就不加以詳述如何在.net core的web application專案裡加入一個controller以及razor page

https://ithelp.ithome.com.tw/upload/images/20190929/20103426ZJO5KHiBwO.png

https://ithelp.ithome.com.tw/upload/images/20190929/20103426PuasXgsZwU.png

https://ithelp.ithome.com.tw/upload/images/20190929/20103426r32Uzg1z90.png

關於pageView的使用部分可以有兩種做法,可以從controller或著是從razor上發出

首先筆者先從controller內先處理

這邊我們先依照之前對ValuesController裡面做的一樣

先在建構子注入TelemetryClient

接著我們在Index的方法裡面插入以下的程式碼

telemetryClient.TrackPageView("Home Index");

https://ithelp.ithome.com.tw/upload/images/20190929/20103426fxBYliWvpj.png

那麼第一種玩法我們已經完成了,現在就發行開始玩看看啦ㄎ

https://ithelp.ithome.com.tw/upload/images/20190927/20103426BIRXMf8bRy.png

https://ithelp.ithome.com.tw/upload/images/20190927/201034265mB3cbx6Lu.png

發布完成後,我們會得到以下的結果

https://ithelp.ithome.com.tw/upload/images/20190929/20103426BGFT2A8l8v.png

接下來讓我們查詢一下(這部分的資料會比較晚才會出現...大家要稍微有點耐心唷)

pageViews
| limit 50

筆者絕對不會說他自己等了5分鐘以上

https://ithelp.ithome.com.tw/upload/images/20190929/20103426GnS16rS8QH.png

再來另一種就是在js裡引用TelemetryClient,並且調用提供的方法

appInsights.trackPageView("tab1")

但在js的部分我們還可以這樣做

我們先插入下列的程式碼

appInsights.startTrackPage("page");

接著我們再插入下列的程式碼

appInsights.stopTrackPage("page", url, null, null);

大家一定很好奇為什麼要這麼做呢?

這樣做是為了讓我們加入查詢語法後可以了解頁面讀取消耗了多少時間?

為什麼要知道這個呢?我想應該不需要我在多解釋了吧....

https://ithelp.ithome.com.tw/upload/images/20190930/20103426k6vBPFsotz.png

其實除了pageViews這個資料表以外,TrackPageView還會同時寫入另一張資料表

他叫做browserTimings

pageViews 資料表包含的是URL和網頁標題的相關資料

browserTimings 資料表包含的是用戶端效能的相關資料,例如處理傳入資料所花費的時間

根據以上的資料我們可以快速的了解下列的狀況:

1.瀏覽器處理不同頁面所花費的時間

browserTimings
| summarize avg(networkDuration), avg(processingDuration), avg(totalDuration) by name

https://ithelp.ithome.com.tw/upload/images/20190930/20103426SoY61BTDrI.png

2.得到不同瀏覽器的檢視次數

pageViews
| summarize count() by client_Browser

https://ithelp.ithome.com.tw/upload/images/20190930/20103426kcL8cD9QAt.png


上一篇
Day - 13. 自訂事件和度量(Trace)
下一篇
Day - 15. 自訂事件和度量(requests)
系列文
Azure Application Insights30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言